package com.cmf.myproject.service.problemOnline.dto;

import org.apache.commons.lang3.StringUtils;

import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

import com.system.core.view.layui.table.TableViewReqDto;

@Data
@EqualsAndHashCode(callSuper = true)
public class ProblemOnlineQueryFilter extends TableViewReqDto{

	//
	private Long id;
	//出现问题
	private String problem;
	//原因
	private String reason;
	//解决人
	private String fixMan;
	//解决方案
	private String solutionWay;
	//故障开始时间
	private Date startTime;
	//故障解决时间
	private Date endTime;
	//故障平台
	private String plantform;
	//
	private Date createTime;
	//
	private Date updateTime;
	/**
	 * 故障开始时间
	 * jdbctype:timestamp
	 */
	private String startTimeStrStart;
	private String startTimeStrEnd;
	
	/**
	 * 故障解决时间
	 * jdbctype:timestamp
	 */
	private String endTimeStrStart;
	private String endTimeStrEnd;
	
	/**
	 * 
	 * jdbctype:timestamp
	 */
	private String createTimeStrStart;
	private String createTimeStrEnd;
	
	/**
	 * 
	 * jdbctype:timestamp
	 */
	private String updateTimeStrStart;
	private String updateTimeStrEnd;
	

	public String toQueryString() {
		StringBuilder param = new StringBuilder();
		/**
		 * jdbcType:bigint(20)
		 */
		if(getId() != null) {
			param.append("&id=");
			param.append(getId());
		}
		/**
		 * 出现问题
		 * jdbcType:varchar(255)
		 */
		if(StringUtils.isNotBlank(getProblem())) {
			param.append("&problem=");
			param.append(getProblem());
		}
		/**
		 * 原因
		 * jdbcType:varchar(255)
		 */
		if(StringUtils.isNotBlank(getReason())) {
			param.append("&reason=");
			param.append(getReason());
		}
		/**
		 * 解决人
		 * jdbcType:varchar(255)
		 */
		if(StringUtils.isNotBlank(getFixMan())) {
			param.append("&fixMan=");
			param.append(getFixMan());
		}
		/**
		 * 解决方案
		 * jdbcType:varchar(255)
		 */
		if(StringUtils.isNotBlank(getSolutionWay())) {
			param.append("&solutionWay=");
			param.append(getSolutionWay());
		}
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getStartTimeStrStart())) {
			param.append("&startTimeStrStart=");
			param.append(getStartTimeStrStart());
		}
		if(StringUtils.isNotBlank(getStartTimeStrEnd())) {
			param.append("&startTimeStrEnd=");
			param.append(getStartTimeStrEnd());
		}
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getEndTimeStrStart())) {
			param.append("&endTimeStrStart=");
			param.append(getEndTimeStrStart());
		}
		if(StringUtils.isNotBlank(getEndTimeStrEnd())) {
			param.append("&endTimeStrEnd=");
			param.append(getEndTimeStrEnd());
		}
		/**
		 * 故障平台
		 * jdbcType:varchar(20)
		 */
		if(StringUtils.isNotBlank(getPlantform())) {
			param.append("&plantform=");
			param.append(getPlantform());
		}
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getCreateTimeStrStart())) {
			param.append("&createTimeStrStart=");
			param.append(getCreateTimeStrStart());
		}
		if(StringUtils.isNotBlank(getCreateTimeStrEnd())) {
			param.append("&createTimeStrEnd=");
			param.append(getCreateTimeStrEnd());
		}
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getUpdateTimeStrStart())) {
			param.append("&updateTimeStrStart=");
			param.append(getUpdateTimeStrStart());
		}
		if(StringUtils.isNotBlank(getUpdateTimeStrEnd())) {
			param.append("&updateTimeStrEnd=");
			param.append(getUpdateTimeStrEnd());
		}
//		if(param.length() > 0)
//			return "?"+param.toString().substring(1, param.length());
//		else
		return param.toString();
	}
	
	@Override
	public String toString() {
		return toQueryString();
	}
}
